function printout_dispersion_eq_from_omega(CONSTS, plot_data)

    omega_p = CONSTS.omega_p;
    omega_H = CONSTS.omega_H;
    num_points = 100;
    
    omega_raw_vec = logspace(log10(omega_H)*(1+1e-5), log10(omega_p)*(1-1e-5), num_points)';
    omega_refined_vec = []; %linspace(1.24e+10, 1.28e+10, 30)';
    omega_vec = sort([omega_raw_vec; omega_refined_vec]);
    z_det_vec = zeros(size(omega_vec, 1), 2);
    
    m_vec = (-5:5)';
    
    if (plot_data)
        figure;
        hold;
        grid;
        title('p_{m,n} from {\omega}/{\omega_H}')
        xlabel('');
        ylabel('');
        %xlim();
        h_dispers = gca; 
        legend_vec = {};
    end

    
    for im = 1:size(m_vec, 1)
        
        m = m_vec(im);
        fprintf('m     %d\n', m);
    
        for i = 1:size(omega_vec, 1)
            LOCAL_CONSTS = CONSTS;
            LOCAL_CONSTS.f = omega_vec(i)/(2*pi);
            LOCAL_CONSTS = update_CONSTS(LOCAL_CONSTS);

            [~, z_det_vec(i,:)] = func_coef_of_fields(m, LOCAL_CONSTS);
            
            if(z_det_vec(i,:)==0)
                z_det_vec(i,:)=NaN;
            end

        end
    
        if (plot_data)
            legend_vec = [legend_vec; sprintf('m=%d', m_vec(im))];

            plot(h_dispers, omega_vec./omega_H, z_det_vec(:, 1), '.-', ...
                'color', [0.3; 0.0; 1.0*(im-1)/(size(m_vec, 1)-1)] ...
            );
            plot(h_dispers, omega_vec./omega_H, z_det_vec(:, 2), '.-', ...
                'color', [0.5; 0.0; 1.0*(im-1)/(size(m_vec, 1)-1)] ...
            );
        end
    end

    if (plot_data)
        legend(legend_vec);
    end

end